<html>
	<head>
		<script type="text/javascript">
			window.onload= function () {
				// js中的继承称为原型链。父类称为原型。

				var stooge = {
				    "first-name": "Jerome",
				    "last-name": "Howard"
				};
				stooge['middle-name'] = 'Lester';
				stooge.nickname = 'Curly';

				// 继承
				if (typeof Object.beget !== 'function') { // 这里要使用beget
				     Object.beget = function (o) { // 这里的beget可以改成其它名称
				         var F = function () {};
				         F.prototype = o;
				         return new F();
				     };
				}
				var another_stooge = Object.beget(stooge); // 相当于java中的 another_stooge extends stooge


				another_stooge['first-name'] = 'Harry';
				another_stooge['middle-name'] = 'Moses';
				another_stooge.nickname = 'Moe';

				stooge.profession = 'actor';
				//原型填充1个元素:因为本身another_stooge没有这个属性，所以到原型去寻找
				alert(another_stooge.profession);    // 'actor'<br />
				//如果本身有这个属性，就取这个属性
				alert(another_stooge.nickname);    // 'Moe'

				delete another_stooge.nickname;

				alert(another_stooge.nickname);    // 'Curly'


// 				// 变通写法
// 				if (typeof Object. beget !== 'function') { 
				// 	Object. create = function (o) { 
				// 		var F = function ( ) {}; 
				// 		F. prototype = o; 
				// 		return new F( ); 
				// 	}; 
				// } 
				// var another_ stooge = Object. create( stooge);

// 道格拉斯•克罗克福德 (Douglas Crockford). JavaScript语言精粹(修订版) (Kindle 位置 522-525). 电子工业出版社. Kindle 版本. 
			}
		</script>
		<script>

		</script>
	</head>
	<body>
		
	</body>
</html>